PANTHEON
Unified Path 1 game engine for PlayStation 2. VU1-native. Locked 60 FPS.
Pantheon is a deterministic Path 1 rendering framework for PlayStation 2, built from scratch in C and VU1 vector assembly. It enforces a strict manager–worker execution contract: the Emotion Engine sequences 128-bit DMA command chains while VU1 executes a bespoke VLIW microprogram — shader.vsm — that transforms all vertices, builds GIF packets, and fires XGKICK directly to the Graphics Synthesizer. Maximum silicon throughput. Zero abstraction.
Born on March 23rd, 2026, Pantheon achieves locked 60 FPS through integrated precision engineering: geometry is authored in Softimage 3D, crunched offline via hrc2ps2.py, and delivered as C arrays. The Emotion Engine never touches a vertex. Compile-time memory contracts enforce correctness. VU1 owns all transformation authority. This is the same architecture that powered the most technically demanding PlayStation 2 titles.
1. Phase 1 Baseline — v1.0.0-Beta
- Locked 60 FPS: Deterministic asynchronous rendering in pure Path 1. Verified on PCSX2 2.7.x and real PS2 hardware.
- VU1 Skydome: Hemisphere geometry authored in Softimage 3D, crunched through offline pipeline, rendered entirely by VU1 microcode via XGKICK.
- San Andreas-Style Timecycle: Four weather presets across eight time slots with per-channel linear RGB interpolation. 24-minute game day cycle.
- GTA-Style Orbital Camera: Spherical camera telemetry with analog deadzone, pitch/yaw smoothing, and dynamic zoom.
- DualShock 2 Input: Left stick move, right stick orbit, L1/R1 zoom — analog capture with edge detection.
- Walkable Floor (Hybrid Profile): Tiled Path 1 mesh plus CPU GIF deck where enabled to avoid coplanar Z-fight; strict Path 1 build puts the full floor on VU1 for validation.
- IOP Theme Audio (Beta): Loads
LIBSD/AUDSRV, links audsrv, embedded intro PCM intheme_wav_data.hwith companiontheme.ads/ ADS headers. Reference theme_intro.wav on GitHub. - Compile-Time Memory Contract: Shared EE/VU1 address layout enforced by pantheon_path1_contract.h. Misalignment is a build error, not a runtime failure.
- Strategic VRAM Allocator: Linear word-bump allocator over 4 MB GS local memory. Zero-overlap layout audited via boot-time telemetry.
- 94BILLY Boot Sequence: Luma ramp with bitmap title. Path 1 world deferred until reveal completes.
2. Field Demonstration: v1.0.0-Beta
Retail PS2 capture — 60 FPS locked. Boot title through Path 1 skydome and walkable floor.
3. Path 1 Pipeline — EE → VIF1 → VU1 → GS
Pantheon’s shader.vsm is compiled with dvp-as and linked directly into the ELF binary as a standard object. The entry point PantheonShader resolves to a non-zero address at link time. The memory contract it executes against is defined in pantheon_path1_contract.h and verified at compile time:
PIPELINE: EE → VIF1 → VU1 → XGKICK → GS
UNPACK: Burst MVP matrix + vertex stream into VU1 data memory
MSCAL: Execute PantheonShader — transform, perspective divide, pack GIF tags
XGKICK: Fire packed GIF packet directly to Graphics Synthesizer
FLUSHE: Synchronize VU1 pipeline before next batch
4. Installation
Requirements: ps2sdk (with audsrv) · ee-gcc 15.x · dvp-as · PCSX2 2.7.x · Python 3.x
Option A — Default Hybrid Build (Recommended):
- Clone:
git clone https://github.com/94BILLY/PANTHEON.git - Build:
make -f Makefile.world(links-laudsrvfor theme audio) - Deploy: Open floor.elf in PCSX2 2.7.x or copy to PS2 hardware via OPL.
Option B — Strict Path 1 Validation:
- Build:
make -f Makefile.world EE_EXTRA_CFLAGS='-DPANTHEON_RENDER_PROFILE=1' - Result: VU1 renders all geometry. CPU GIF overlay disabled. Pure Path 1 pipeline validation.